package com.nbst.model.api;

import java.io.Serializable;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Builder.Default;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @ClassName: Print
 * @Description:打印参数模板
 * @Author wl
 * @Date 2021/4/15
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Print implements Serializable{

  /**
   *
   */
  private static final long serialVersionUID = 4498442961404130615L;

  /**
	 * 报表类型 gridreport fastreport reportmachine 为空 将默认为gridreport
	 */
  @Default
  private String method = "printreport";

  /**
	 * 报表类型 gridreport fastreport reportmachine 为空 将默认为gridreport
	 */
  @Default
  private String ReportType = "gridreport";

  /**
	 * 报表文件名
	 */
  private String ReportName;

  /**
	 * 可选。报表版本, 为空则默认1  如果本地报表的版本过低 将从 ReportUrl 地址进行下载更新
	 */
  private String ReportVersion;

  /**
	 * 可选。为空 将不更新本地报表 , 如果本地报表不存在可以从该地址自动下载
	 */
  private String ReportUrl;

  /**
	 * 可选。打印份数，支持指定打印份数。默认1份,如果为零,不打印,只返回报表生成的pdf,jpg等文件
	 */
  private String Copies;

  /**
	 * 可选。指定打印机，为空的话 使用默认打印机, 请在 控制面板 -> 设备和打印机 中查看您的打印机的名称
	 */
  private String PrinterName;

  /**
	 * 可选。打印右偏移，单位厘米。报表的水平方向上的偏移量，向右为正，向左为负
	 */
  private String PrintOffsetX;

  /**
	 * 可选。打印下偏移，单位厘米。 报表的垂直方向上的偏移量，向下为正，向上为负
	 */
  private String PrintOffsetY;

  /**
	 * 可选。是否预览，和主界面设置的效果一样 为空默认不预览,   0：不预览，1：预览(弹出导出的pdf,jpg等文件)
	 */
  private String Preview;

  /**
	 * 可选。只要token值在列表中 方可打印
	 */
  @Default
  private String token = "aa";

  /**
	 * 可选。多个打印任务同时打印时，根据该id确定返回的是哪个打印任务
	 */
  private String taskId;

  /**
	 * 可选。自定义 导出 文件名称 为空 或者 自定义名称 如 test
	 */
  private String exportfilename;

  /**
	 * 可选。自定义 导出 文件格式 为空 或者 自定义名称 如 pdf
	 */
  private String exportfiletype;

  public Print(String ReportName, String ReportUrl, String Preview) {
    this.ReportName = ReportName;
    this.ReportUrl = ReportUrl;
    this.Preview = Preview;
  }
}
